That's when you login into your instance, but it is some substantial amount of work, quite, quite
some work, and that is if you need to do your own custom theme.
But if you want to install teams that have already been done by other developers, you can do that.
There are quite a few that are not yet.
They are not too many, but they are some that are fully developed.
If you go to Google sites and just touch you up your next customer themes, you are going to find them.
They are developed as apps.
So for the people who have concentrated to do that, they have developed apps so you can just install
a bench, get up, whatever, then bench your site, install up whatever you have downloaded on our
kids here.
It is not in the scope of of doing our custom theme.
For the desk, what we have in scope is the theme for the front end.
So so, yes, we are going to be customizing the front end.
We're going to be installing our own theme on the front end, but not on the market.
I didn't get you the theme back.
And then what is the theme from then?
OK, so let me let me let me share my screen so that I can show you what those two terms mean.
Share this.
Now you can see my screen.
Yes, yes.
OK, so let me walk out here.
This is the front end.
OK, you see what the front end, basically, it means what every user who is not logged in will see.
This is what we call the front end.
So if it's in our library application, we wanted maybe people to be able to search books or to such
articles.
This is where are going to display the articles.
Of course, not everybody will come into our system and with the log, with the login details, then
maybe for our library manager or whoever is adding articles into the into the system.
Now that one has a log in, the log in.
This is what is called the back end, so everything here, everything you see after you have logged
in is the back end.
Everything you see before you log in is the front end.
So we are going to be customizing the front end.
We are not going to be touching back end for this in this series.
Great.
Excellent.
But like I said, they are so mean.
If you go to IRP legs, Vimes, if you if you if you Google that here you see this next 2012 and it's
footage of us on 13 together we have we have one here for a bunch of 18.
So if you open it.
I think it's on GitHub, so this is version 12.
We must have on the team for this.
So this is 12.
So if you sign it, you're going to find them and then they are they are upset.
Yeah, here it is.
There are the apps that you can just do not like any other upon your instance.
Yeah.
Yes.
So which technology they use to create an custom theme.
Arms are created basically using HTML cyesis in JavaScript.
OK.
Yeah, it's the emails.
Yes, JavaScript.
Great.
Yes.
OK, fine.
Uh, this is for Hamdallah questions the last time, and it.
OK, let's get a question.
So, guys, if you have a question from a previous topic or we shall start the today's topic.
OK.
OK, so there is no question let's start, uh, today's topic.
Uh, can you introduce the agenda?
Yes.
Yes, go ahead.
OK.
OK, so today we are going to be looking at creating custom pages.
The reason I jumped to this is because they are kind of dependent on this like ups and adding a bootstrap
theme to our front end, this kind of dependent on this.
So if we understand how custom pages are created, this, these are going to be easy topics to to take.
So today we are going to look at how to add your own pages inside the Frappé framework and of course,
Europeanist.
So.
It's a long topic, so I'm hopeful we are going to be finishing let's assume that you want maybe some
page when you create when you create a doctor in Europe next.
It comes with some some pages like, you know.
At the library, we did not need to do anything to generate this page is which was generated by Europeanist
and or Frappé.
So what if we are not satisfied with this page and we would like maybe to create our own page that has
something I don't know, but maybe some page that has some content that looks different from this.
How do you do that inside of ERP next into the proper framework?
So I will do that from the ensemble anyway, from the new system, of course, go to Osama and look
for pages, which you see there is a list when you click on that.
And by the way, when you come to court here.
Immunologic, this.
When you come to you are called.
I am inside the APS, our library management library management module.
When you come in here inside this library management.
In our system, just check you up.
Now, you don't have this for the codpiece.
Mine is here because I created one page already when I was testing this.
So this page is generated when you create your first page.
And so you look into mine, I have this, then I have a folder for Vikash.
Then I have another folder that says training.
This training is my page.
So when you create your next generate this quote for you.
Now let's go ahead and create our first page here.
And the training page you saw is this one.
So how you add that and you just click on add page, then Guia gives you a page, Arnim, something
like we can call this one.
The custom, let me call it custom.
Custom page, and then he select the module.
This is where you want to you are going to be to be saved.
Remember always this you should select the module where which you have created yourself so that you
are able to be safe.
Then the page title can remain as the one you have put on the page name.
If you don't want that to continue, the page title restricts the domain you can restrict.
If you want to restrict.
If you restrict, it will only be available in that domain.
We don't need that in our case.
Then you need to leave this one as a standard, as a standard standard page.
You can put an icon.
Remember when we were adding our left side menu here, we saw icons and I also shared a list of the
icons that are acceptable in Europe.
Next, looking at the link on here, if you're interested.
And then here are about Rawles, so this one is where you put you at the rules and permissions for the
people, if you want your page to be accessible only to some people is in your system.
So you can restrict that here.
So we are not interested in that.
And we can go ahead and click on Create Page and our page is created.
Let's go back to our board.
And now when we refresh this refresh, you see here we have another folder that has come that is custom
endoscopies.
And this is the name that we give our page here when we were creating it.
So we have custom orders Kabbage, it comes with some finesse, the first word is in need not be the
second fire is custom painted or Jesus.
And then, of course, we have custom.
Jason, you can leave this there, find out that we are going to be working with mostly is this custom
page to Jesus.
And now here we are going to be interacting with other technologies.
If you open this file, you will find that this is just one file that Frappé have generated here.
This is not just one, but JavaScript.
And now you know, the way we create our pages in web development, we use HTML indexes.
So it is required that you be familiar with these two and also JavaScript.
Now, for you to be able to understand how these pages are going to be created, because ideally Frappier
for another put this as JavaScript is to compile everything into which the email, but will be writing
our code inside of this JavaScript file here.
Now, how do we see the page that we have created after we have created up here?
You see that we have go to page, custom page.
So when I click that this thing opens a new page and look at the you are the top.
If I go back, you see here we have our you are then up page, custom page.
So this is the name of our page.
If I click on this, what it does is it just removes the name page here.
So if I add here we go back to the page where we are creating our page when I remove this, ideally
this will just go straight to the page that we have just created.
So now we're going to start building this page.
How do we put in our content inside of the page that we have created?
So what we be doing today will be building our own page.
We are going to see how we to inject CCIS and not Sears's, but e-mail HTML so that we can have control
over what people see on the page.
And then we also are going to be seeing how now to connect.
If we wanted to get some data from our database, from our database here to our application here, how
do we do that?
We are we are going to be covering that today.
So how I do this, ideally, I like to separate ways so that my good looks neater and what I like to
do here ideally is to create a new.
And it's not what I like to do here is to create a new a new class here so I can guess it.
So this is basically JavaScript, so I just do something like page content.
So this is what is going to be holding my page content and then I'm going to put this as a class.
And then inside of this glass, not inside, but I'm going to break this glass to extend and then let
me remove this and then what it is going to extend here is what we are going to be putting here.
So inside of this, what we're going to do, we are going to require two main items.
The first one is Inmet, and the second one is the second one is mixed.
So always when you are creating like I remember that this class that you're extending here will be these
two on the minimum and then they need is going to be a function.
And this function takes in a parameter and this parameter is the wrapper in this wrapper, ideally what
we mean and this wrapper, ideally what we mean with this is the whole gene, the whole piece.
This is what we call a wrapper inside of entropic.
So when we are here, we have in it.
Then we have a function that fixing a wrapper and then the contents of this init function is going to
be whatever frappé have here.
So I'm going to cut this.
Cut like that, and then I'm going to press it inside here.
And then after that, what I'm going to do, this function is not complete.
So this is not going to work as is.
But now note that here we have variable beach and we are dealing with a class.
So this is not going to work.
So what we need to do here, instead of seeing volleyball, we need to do this.
Remember, this is JavaScript.
So if it was Python, remember, it could offset itself here.
So since this is JavaScript, we have we have this page when we put in the content that was here.
And by the way, if you look at these images and do this, if you look at what we have here and you
go to therapy documentation.
Frappier.
And.
When these then look for Paige.
Be adding pages anyway.
If you look at what frappé, having the documentation, I don't want to spend time with that because
we have a lot of ground to cover today to find out the function that we are providing is exactly what
your page generated when you did it for the first time.
So you can get it from your director.
So let's go back here.
So we have we have this we say this is going to be this little page, then whatever content that was
here and then the make function.
They make function, is going to have some things.
So what this thing is going to have is also a function, but this function this time doesn't take any
parameters.
So they make function, doesn't work parameters.
And this one is complaining because we need to put a comma here.
So we put a comma to separate the two.
And then this make function is where you are going to be ideally, so that this is where we're ideally
going to be put in our e-mail content so we can just define a variable here and say, let me be something
like e-mail content be.
And then here you put it back, remember here under the script so we can put it back because then we
can just paste this with something like adding to this is our page.
This one is stopping me from saving, so I may need to give that for the permissions.
Let me jump into.
Carlos, let me jump in to our terminal here.
And change punishments for that source, so be library in the library, and then we have what we have
to be free this page and then we have the custom is no, no, no, no.
I want to sue those who sued.
The changing mood.
More conservative forecast on page Pharcyde
bench Trinny Winstead's.
OK, OK.
Now we can we can we can be able to save our files here.
We don't issues.
So when we do this so our pitch of our class here has two functions in it and make and then these two
functions, what we need to do here.
What we need to do here next is now to tell this -- what we want to do with whatever we have here
so we can have something like.
We can have something like downhere after we have done this, if we have our content there, and then
the next thing we are going to do here is to put patris content inside of our page.
So what you are going to do is Frappier, dot, dot, dot.
A bit of a template, so you're going to try to render a template and build a template that we want
to render this hour, this one.
So this little template taking takes in two functions.
I mean, two two items.
The first one is whatever you want to render.
And the second item is this, is this remember, you're inside the class.
This class is the init function is the page that we are working on here.
So in our case here, we want to render this on our page, the page that we are creating here.
So after that, we are going to that is going to happen.
So what happens to a very open and then this is going to be this this this got this got page, dot,
dot com in.
And we are getting this year, maybe for some reason you forget the part that we are putting here.
If we go to our page, the page that we just created here and you inspect.
Let me make this larger go to console.
And we do hear Frappé Dods.
Uh, Frappé, DOD, DOD pages, I think it would be this DOD, the name of the name of the page just
created to ours is custom.
What is the name of our.
The name of our page is Custom Page, I think the custom page, so if we do custom underscore page dot,
it's not available.
Let me see whether we have that undefined.
So if we remove this, we have propellent pages.
What we have here is this object, which has to be, oh, it's an iPhone.
It's not it's not is not it's not an underscore.
So we can go back here and do that.
I think Page and Dot, we have that first.
Road page.
And into.
We have an issue here, page is not defined, so we need you, we may need to just drill down here.
So when we open this, we have our custom page here.
And then when you go down, you'll find this another thing, another item, code page so you can go
and OPIS.
So we have a page here.
So look at this.
We have this dot page dot mean.
So this remember I told you that this is the current page you are working on.
So when we come to the to the end, I don't think you are seeing this.
They make it a little bit larger.
If you come to a console here, let me go up.
We did four upload pages and then this one returned our page.
So we have our BGA podcast on page.
So in our case, this custom page is our this.
Then when we scroll down, we have a page, so scroll through and all the ENPI.
So we have page here.
So this is what what we are doing, this dot page.
So we have page, we have our page here.
When you open it, you'll find another thing you are expecting now to find meaning inside of that.
So when you scroll down, we are going to find these men.
So this is where we want to put our content inside of this item.
So we have appended to this no page don't mean.
And by the way, this thing doesn't change.
So if you if you read it once, you can just be using the same.
And then after that, we are supposed now to just get this thing, the glass that we have created here
and put it inside.
Remember, we got this thing from from above here.
So we need to put here.
On top here, we need to put to put to a class that this is what we want to display so we can do the
new page, content, page, content, page content like that.
And then we initialize it, we raise it.
And we said here is going to take wrapper also.
So we have this page content and the page content is going to take in the wrapper.
Now, when this is done, this one more thing that you need to do and you you appear to be ready and
that is in the init function.
Remember that we have this mic in this case and right now not you're not communicating with init and
init is what we are triggering on this on this this function here that Frappé understands.
So after this, we need to tell our system that we want to initialize the mic function.
So what you're going to do is this mix and that's it.
So if we go ahead now and try to run our our our application, if everything went well, we should be
able to see our system opening here.
So let's reload and see whether we have an error.
And that's it.
You see, now we have this is our page content loaded on our page.
This is what we have here is ideally what we put in our e-mail.
So right now, this content, like I was telling you, this bit doesn't change.
So even if you you may be build it once or you're going to be changing now is the content that is inside
here and now here.
This is where we will be needing to write a lot of our a lot of our a lot of our e-mail and ccis and
even JavaScript.
So if I say that means said here, we are going to be putting all our content.
So if I copy this and I do that.
This is our page, this is also our page.
We are going to see the two items displayed on our SUV and we reload this.
We are going to see both of them, I don't know whether anyone has a question before we proceed.
Uh, yes, karani for this page, actually, I want to understand the context where we will use these
pages in the back end or in the front end.
No, this is about mummy, because ideally we remember we are locked in.
We are locked in here.
If we lock out and try to access this Eurail, we can't access it.
So this is a page like for instance, you know what I explained?
When you are starting, let's say you are your system.
There's something very specific maybe you want to build that is customized for some people.
You want your people or maybe some group of people when they log in, you want them to see maybe you
are articles in some way or you want some report displayed on some page in some way which does not come
out of the box with the frappé.
How can you customize that?
And that is we will be needing to build custom pages like this.
So this is entirely backend.
But this one doesn't accept the data.
I mean, only authoritative data, you can show list of data, for example.
Yes, we are going there next, OK?
OK.
So there is there is no question, let's move on, OK?
OK, so we move on.
So now this page, the page that we just created here already, you know that Frappier has bootstrap
installed, so this page is ready to start accepting, even bootstrap.
So if we came to a page here in the deal, class equals.
Now, the downside of this is that it is not it's not like does not have Intellisense inside here,
does not have Intellisense for e-mail.
So you may find yourself in a situation where you need to.
You need to.
To close everything here, you know, you see, when we were creating a class here, we did because
we expect that when we open one could be the closest also.
But we didn't.
So you may you need to be careful there so we can see this is the glass is container.
And then inside here we can have our roof like the glass is is our room.
It's our role and we need to close to close this thing through.
We need to close that.
And then inside here, we can now start putting in our own like the force so we can do something like
that.
And then inside of this, we cannot go ahead and put in our content.
So what if we go to bootstrap and take, take and cut from bootstrap and see what they do us so we can
come here and maybe grab our cut like they give in this first one.
But we may need to do some cleanup.
We don't need everything.
So here we can pick our cord and then we remove the image.
Of course, it's not going to be found and we don't also need that styling gear.
That's it.
So let's see whether this coat is displayed appropriately as we expect it to be displayed by bootstrap.
So we go back to our code, to our page and refresh.
And yes, you'll see that is a very beautiful car that has come from boot straps.
So, yes, they both.
And you see also it is taking four percent of the beach, another four percent, but but for four out
of 12 blocks that have gone bust up.
So if we come here and do another another mudie for down here.
After this one, we do another thing before we close it, and we've been here to see whether to display
a block like we expect when we do it being three and this is it.
Maybe we can just say we are here and say if we expect that this is supposed to be displayed here by
bootstrap.
And yes, that is it.
So you can you can put in bootstrap, you can customize this page the way you want to customize it using
bootstrap.
Now, the question is, what if maybe you wanted to put in some beach, maybe like.
That already exists, maybe like projects or maybe the page that you are customizing is maybe like the
projects page, I'm using this only for the purpose of our demo.
You're going to find appropriate use according to your use case in your system.
Maybe this is the page that you wanted to customize.
It looks 90 percent the way you want it, but these are isolated.
So, like, now you want this fast, this fast top.
But here, what I want to do, you can just come to this page and then you inspect it.
I don't need this kind of large font.
Then what you do is you hop on this page and then you can grab, you can grab so so I'm showing you
here is how you can reduce if maybe the page you want to create is not very different from a page that
is somewhere within Europe.
Next, if I come to this, you see this one.
It has highlighted my page here, the page that I want.
So I have on it.
Then I right.
Click and see copy.
And then I drew out the e-mail.
So I have it copied on my on my here and then I can just come here, just replace everything we have
here.
So if I go ahead and cut it out, remember I have batiks.
These subarctic, they end up back there.
So you are putting this code inside this buckteeth and I paste whatever I have copied.
It's ugly, but you may need to you can just take this to an e-mail format and formatted.
Then I come to my page, I reload it.
I'm expecting to see you.
See, what I am seeing here is exactly what I have on this project page.
So if you have a page that is not so different from what you are creating, you can just go ahead and
copy the outrage, the middle of the page you want, and then paste it on your page and start customizing
it.
You are going to be seeing how to customize this in just a few minutes.
Now, what if you wanted to get our library, our articles, so let's go to library here articles and
we want to get these articles.
So the same thing just inspected and we may need to just make it a little bit bigger.
And then we have on this, we can actually copy copy what they make over on the first one.
They are.
Then when you come to the to the left, I mean to the to the inspect items that that can give you a
clue what you are.
So like when overnight change between these two div classes here you can see what, what is being highlighted
and maybe I am interested in this one.
So I just read click here and then I go to copy paste, copy, copy and then I do copy out the email
and then I come back to my code.
I can undo to remove this and then I just press what I have copied.
So I have a lot of code here.
But of course, you know, let me first of all refresh this so that we see what ideas are reflected
here.
Yeah.
So you see, we have our items here.
Now, note that we are having these items here because we have them on our board.
So this is not dynamic.
We have them here.
If you look closely, like now we have Vinken and grew rich here.
If I find this so if I do f control, f remove.
And then I do think and you see we have an item here and grew rich.
If I do reach Dad here, I go back to my code, to my code, and then instead of the book, I do reach
that.
You see we have all these items, all these articles are on our code.
So they are here, they are hard coded.
They had gotten on our system.
But of course, now this is devastated.
And if maybe we need this kind of a design with dynamic data, what are going to do is after you have
copied, you leave one of these.
So you are going to delete all these others and leave one in.
Of course, know what you are going to do is loop loop through them and generate them from the code
that you have on your database.
Now, not being said, I'm hopeful that we are comfortable with the with maybe grabbing the pages that
we need from the pages that exists within our system and we can put them on our application and customize
them in the way they even if you need this left Bahia, the left that is here, you can still have it
by inspecting and then grabbing the whole content, like, let me see, like like that.
Yeah.
Must be there.
So if I copy this now copy and then I can do this, then I paste.
This is going to come also with this.
Right.
But right.
But they didn't come so I think I need to go up one more class.
I mean, we don't need a pizza wrapper, so, yes, it must be here.
So you see this ones have a page.
So we don't need it up.
What we need from the item that is just below the page.
So if I copy that and I pasted here now, we should note about how this page with the left, the left
content here.
So, yes, there it is now.
So I will assume that you are comfortable with grabbing whichever content you want from within Europeanist
of wrapping and putting it on your own page.
And we are going to go and start figuring out how to customize this.
So in the next stage, if you do not have any questions, we are going to get to to try and get right
to our call to out to the back end and grab some data and bring it and display it on our on our on the
page that we just created here.
So if anyone has a question, you can shoot it now.
Yes, one question, you show us how to build HD email using JavaScript string, but I can see some
existing page in the list in the page list, the page there some some of them have HTML file, which
contain the e-mail code instead of doing this code in the JavaScript.
So do you have any experience doing that that way instead of of using JavaScript to build the HTML?
Not no, I have not done that, Maureen, and the recommended way is to put it on the JavaScript file
that they have built.
So even if maybe they have their own code that is running, that is running on an independent e-mail
file, this is what they recommend that that we do.
So I have not built any except customizing the pages that they have already built.
I have not built any myself on your e-mail, basically, because they don't recommend it.
OK, thank you.
Garani is the limit of pages you can create using custom page, so desk you cannot create with custom
pages, right?
You cannot replace disk by a custom page.
Not replacing disk with a custom pages is the customization we are talking about.
You can you can absolutely do that.
But that is not a customization you are talking about.
That is like changing the theme, because if you look at they have here, this is what they have built.
This is what Europeanist are billed as the home page.
So this is their desk.
So if you change this, look, it's like you are changing that theme.
It is possible, but it takes quite an amount of work.
So theme is a custom page, but for this only, we call it theme, right?
Yes, yes, so this is yeah, this is the avium, so this is what they are using here.
OK, yeah, so actually, even that bridge that we are creating, if you look at this bridge, will.
If it is if you look, look, look at it, if I change like now, it didn't create the Osama bin here.
This is our custom base.
We didn't create these things.
And this one's come out of the box, the notifications, the icon here, the breadcrumbs, this thing
with all these items, this is that we are just inheriting from the page that they have already created.
OK, well, this is still this is still within the.
OK, Page, it's it's different from DOCTYPE, right?
Yes, absolutely, yes, absolutely.
Yes, it's completely different.
So how to make a permission or grant access to pages?
In Europe, next.
So when when you create your custom benjamina.
Yes, yes, custom made, I give access to one user and do not give access to another user.
OK, so where we are creating on page one, if we come here and add here whether we are creating our
page down here, we have rules.
So you can just go ahead and add the rules that you want to be able to access the page here, the rules
you have, if maybe you want this.
So if you want this to be accessible only to two ever, maybe a student, these are coming up next.
You just elected them and everybody else would be locked up.
But if this one is empty, it means this page is accessible to anyone.
Uh huh, it's different from the DOCTYPE permission means he can select, he can create, he can delete
like all permission manager.
I'm sorry I didn't get to enroll permission manager wrote permission you give access to a DOCTYPE for
two or four, OK?
And you you have multiple options checkboxes in front of each DOCTYPE parole combination.
So you can say, OK, this all he can edit, he cannot create and you check and.
Yes.
I get you now.
Yeah.
So.
So yeah.
So this one, the experience I have is to put it on the to put it down here.
Yeah.
This is, this is what I have been doing all these roles, roles, full access means creatively to read
everything.
Yeah.
OK.
Thank you.
Welcome.
So so we can move on.
OK, so let's get back our card here, because I want to work with something simple
these days.
So let's refresh our page.
I just want to up to something very simple here.
Now we want to get data.
Let's say, for instance, we want this thing to display here.
The number of articles, this is just an example, the number of articles we have on our table here
at the library, so let's say we want this thing to display.
We see we have that articles here to display the number of articles that we have on our.
Table or on our article library table, so remember, you can get basically any data that you want from
here.
So how are you going to do this?
We want this to end to come somewhere here.
The first thing is to create a file.
So let me let me open this.
So instead of the folder that was created when you created your page next to the custom is create a
file and call it I can call it custom page dot dot P..
Why there's a file.
So I have a I have a file I have created called custom P2P.
And I want what I want to do here is basically what we have been doing all through.
So this we have this experience now.
So the first thing import frothy is like writing an API basically.
And then after we have import that we need to define our function here, our python function that is
supposed to do something so we can call this, get an article out and then we can do here a list of
what we've written in here.
Just do something and then ignore that.
So we have a function that is a Donnington.
And then of course, we, of course, need to treat these functions.
So profit or whitelist.
So remember to do at least your function.
We have that then the next thing, remember, when we are working with the JavaScript.
Excuse me.
You need to write.
We also have this experience you need to write.
I call.
I call here that is supposed to go to the back end and call this function and then come back with whatever
data that it will find in the tropical.
So we are going to be writing that somewhere here so we can put it in here.
Ideally, what I'm going to do, because we have already done this area, I'm going to copy DOCTYPE,
I'm going to copy it, then we are going to do a change.
So it must be in this pile.
We know it must be genius because that's a proper call.
So this one we have we have an example that we worked on here so I can copy this and then we can modify
it.
So if I paste it and this is supposed to be inside, we say the variable.
We can say lets out we call this particular count equals.
Is this takes in a function and then inside this function, this is where you are supposed to do this.
Now we are few things I going to change here.
First of all, is this link, of course, is not going to link there.
It is going to link to library management, library management.
Let's open up so that we can see here.
So we want to go into library management, library management, and then we want to go into page, so
scroll, we don't need details, we need page after page.
We want to go into custom page so we don't need is also custom page.
So here we are basically adding up to a function here and then we want to go into our custom.
We have page, custom page, then we have another custom page.
For the stumpage, for the.
For the for the item here and then instead of that custom page we have on a function called Get Atikokan,
so we put it there.
And then we don't need any argument, we are not passing anything to the back end to remove.
And then the next thing is we can get article count.
We can just call this sea or whatever, we can call it Atikokan, and then we can base fossil fuels
all over it and see whether we have it before we take it to our.
Before we get to our law article, before we get to our.
Our kids here, so, yeah, we have let people come to function and then we have our call going to that
and then we are of it.
So if we save that and now try to reload, if you don't get an error and we do have an error notice,
check our console and see whether we have something in.
Let's check here, see whether we need that we do not we have written our function, but we have not
initialized that function.
So what we need to do after this, we need to initialize this function.
Remember, this is a function.
So it is there.
Yes, but it is not being called.
So we need to call it like that, by the way.
Currently, there is a typo error.
Where in the in the parameter.
In the JavaScript.
Huh.
In JavaScript.
Go to JavaScript.
Is Artec article let article count.
Particle count, the parameters, the functionality, the lead article, their article or this one little
article, so particle counts, we can call it that one.
Yes, yes, yes.
Yeah.
So this this is the function.
That is what we are holding here.
Yes.
So let's go ahead now and run this and see what we get the load.
We don't get an error and look at the console.
We have to end this.
Then this thing is coming from what we had.
So it is coming from here.
If we change this to 100, we expect that we are going to see 100 on on on the console here.
So, yeah, we have a hundred here.
So this is doing a call to the to the back end and getting this one hundred and coming back with it.
Now
there is.
OK, can you show us the console.
You didn't see the console also.
It's very first and there is a delay in the.
Yeah I noticed there.
Can you see it now.
Ya, ya, ya, ya, ya.
This one hundred years, this one hundred, it's coming in a message.
It is what we had recorded in afunction since returning that one hundred and we are getting it now here
so we can access it here.
And then the next thing that we need to do here now, even before you write the the back end the code
to the code to get our electrical current, we can just put it put it inside of our inside of our card
here so that we see what we have so we can do variable.
And before that we maybe need to get to put in an ID somewhere so we can do here before.
And then we don't need this button anymore.
We don't need this as well.
And then here we can do each one with a and I'd be.
Remember, this is CCIS.
So each one I we can call it out because I often count.
So we have on it know that we can reference with our with the query.
So this is again this is, this is the query.
So what we are doing is the query so we can do IBM with an IP of that.
Is an item with an idea of text and what you are going to do here is passing this.
So we have this broad message.
Remember, this is coming.
Is it a message if we look at the console here, because it is inside the message, is it a message
here?
So what we need to do is do Artecoll count the message that we can access that?
You know, we are setting that as text inside of our our H1 tag in the card.
So let's go ahead and refresh.
And we are expecting now that this card is going to change and we are going to have 100 displayed somewhere
here.
So refresh it.
That is if everything works well.
Yeah.
And that's that's it.
We have 100.
We have an account and we have 100 displayed there.
In a big hits are his Wantagh, so now I think you have guessed it, what we need to do here now is
basically we can comment, not our on our article so we can return profit or be don't ask you.
Well, and then we write our well here and ask you it is going to be ResCare, is it going to be select,
select and then we see Groulx.
We want to count everything.
And we want to counter this thing from our table, so it blew backbeats and I think is published at
the school library.
So that is it, and then we need to close that.
OK, so for the past, you will retain this select committee?
Yes.
Let's try and give it a shot and see what we get and we get at him.
So this is coming from our database.
So that's it.
That's what I had for today.
If you have questions, please let me let me have them.
So great, great.
Excellent, Karen.
And if someone has doubts, please let us know, please.
Now.
Uh.
So this one page can create records of Karen.
Or just display data.
You can create items, yeah, I mean, you can create a new article as an example, you are doing count
on the and we saw some examples, just high level and not yes or no question you can.
You can ideally, because what you need to do, for instance, the core library article.
Your article brought you if you take this bottle and put it, if there, I'll show you how to copy this
bottle and to put it on you on your own, it's going to allow you to create articles.
But that will ideally not be mimicking programming sense because you already have you already have a
button that works.
And this is this is like a page that has already been written by by itself.
And remember, you are the one who designed the the duct tape, so you know everything you want.
And therefore, this button in terms of creating this is supposed to be doing anything that you like
to do in terms of creating, but in terms of displaying, you may be needing some information to be
hidden from some people for some reason.
Maybe it is private or something.
That is where we need to create custom pages focused on pages.
Mostly I find them being used to do display work rather than create.
OK, OK, I see I read only pages, not, uh.
Yes, yes, yes.
OK, any question?
There's no question.
Uh, customising to trade school books, you have, uh, previous open questions from need to trade
school books, from last sessions.
Uh, if we are, can we close some of them?
Guaranies, is there any answer ready for that?
Have you worked on this, Karen?
If you open the page.
Open doubts you have access to open doubts.
Let me let me share my screen.
Oh, sorry, I have not worked on them, I have been talking with them on my commute.
Sorry, I have not worked on them.
What we can do, I can look at them on Wednesday first thing.
So, yeah, I think yeah.
Let me look at them on Wednesday.
First in time.
OK, no show like just high level.
There are one, two, three, four, five, six points.
You actually I would share my screen once again.
OK, yeah.
So let's start by the end.
So I asked her to print the world's original on first page.
They have a requirement to print the invoice on three copies, first copies, second and third copy
in the same time.
You remember, they used the blue paper carbon copy.
So here in the similarly, they want to print the invoice and the three copies.
The first one is original and second copy is duplicate.
That one is duplicate.
XPoint point is calling just will will give hints and help how to solve this point, since it is not
in our scope, we can help them, how to guidance, we can provide kind of guidance.
So William still asking us to use the standard API usage?
Oh yeah.
OK, yeah that is good.
My mind.
Yeah, yeah, yeah.
I consume external API by early next.
Like, I'm not what we did.
Yeah, it is a closed right.
This is undeceived.
Muhammad Ali has something pending.
Actually, Muhammad Ali from Riyadh, from Riyadh, Saudi Arabia, he asked how to get the exchange
rate, I remember from bank.
Yes.
So we didn't see this that is still pending because remember, you said something on some function that
had already been written.
So what they needed to be just consumate.
U.S. consulate, consume, consume, consume external API.
We saw this, we saw how to consume external API by our next.
Yes, we did OK extensively, unless maybe he is stuck somewhere, we can help, but we did it.
We did it extensively.
It is in the rule book or the previous one, a position that's an EPA, that is an EPA imposition.
Yes, yes.
OK, so this one our company have online store acquired again.
We OK.
So this was closed, right?
So what happens now is whenever we got this close.
Correct, we give a high level guidance, which we created this on our website.
Yeah.
And by the way, I also did a YouTube video.
I don't know whether the artist did fall for our book from an external application, sending data to
your next.
OK, great.
So another resource available for this point I need to trace were books Ifield receiving Ifield how
to retrieve.
Is one race last time we saw there is some e-mail sent to us by system when it is felt there is error
message you need to enable sending to administrator, but by code, I'm not sure if there is any method
to trace this Web hoax when it faith or success by code.
You got it Karani, you got a question or we can keep it open till we have an answer for this point,
which is not how to implement custom.
So it was no, no, this need to trace were books.
OK, here.
OK, here on this one, this one we saw that Europeanised is trying three times by itself.
Yes.
When it fails, it sends an email to an admin, yes, to whichever email address you have set up this.
So is there anything else that is spending here?
I mean, they could be called.
Could you, uh, could you write the code means you have you receive an answer from the external system,
a feedback on your action means it is completed successfully or completed.
The failure just failed.
And in your code, you receive this message, this feedback, like you do in JavaScript, you use a
call function, right?
This call function, it is sending a request to Python.
Then Python will run dippie a squirrel.
Then you will get data.
And if any result, you will get it in your JavaScript.
So based on the result, you will continue.
You will test if it is success, failure and so on.
So the idea is to build the coding inside your function to know the result of the work groups will call
you.
Is it failed or successful?
I get you, I get your money.
I look at it and leave it.
Yeah, it's OK.
And how to implement custom team work asked me last time.
So Custom team is something you reply to this question and the beginning, right?
Yes.
OK.
And so.
Thank you very much, guys, if any question for today's.
Yes, hello.
Yes, it's so simple, I just I have an extra question, yes.
Users, users that we add to the page or document or whatever, the components that we are creating.
Oh.
If if we.
If we work with with a it that will be suppose as a local users or producers.
For example, if I create a user user test on my local machine and then I push over to, uh, remote
Époque.
It will be shared with other developers.
Yes, Karen, you good question.
No, I don't get it.
Actually, he had he's working on his local machine, for example, as a developer, and he had user,
end user, end user on the application for testing the.
So it's question now, is this user created?
Does it push it along with your code and get or it is only local.
No, it is that user is local because get when you push to get you not post data.
The only thing that is supposed to get is the code, so all the detail that you have locally will remain
local.
The only way that that can be pushed.
In fact, it is it can't be it can't go to get that data will remain local.
OK, yeah.
Uh, you got to answer them.
Yes, thank you.
Just one more question.
Um.
OK, what are others that are that are not?
Push it to, uh.
To do remote terrible.
What are others things that stay on local?
As local data.
You know, Osama or the or the data that you have in your database will not be pushed to get whether
it is the remote Guiteau, the the local one, everything will remain on you.
For instance, there, if you push if you do, I get to push in another developer team does I get pool.
They will not get the data that you have.
The only way, the only way that we are going to see how to implement that and make it possible may
be to to have developers accessing even the data is when we do the fixtures, when we cover fixtures,
the roof fixtures, we are able to get data from a developer to another.
So all the or so, all that data you have sitting on your database will not be pushed to get an.
And how can I know if that is that the actions that I am executing from the UI that are performed or
transform it to go down there and how can I take it that are it's got.
OK, now, Matt, my question, my question, is there any any documentation that that data that stay
on local repo or local machine and it's not the push of the to the remote repo.
Now, OK, there is no documentation of Osama, but basically anything that we are able to access on
your file system, that is, you know, the difference between the database, right?
Yes, sure.
Still, everything that is on your file system will be used to get on, except except maybe the files
that this file could get, you know.
OK, yeah, that's good, that's not data.
Yeah, yes, so they get ignored, know they get Technofile.
That is what defines what you don't want to push to get up.
So anything else that is on your file system will be pushed to get anything that is on the database,
will not be pushed to get.
OK.
Yes, is the answer your question?
Yeah, I just now I have, let's say, a partial question, we have mothers and daughters sitting that
are not pushed to do it.
Mm hmm.
Okay.
So, yes, is there any any anything in the database, it will not be pushed to get any anything a database?
You mean you manipulated from front end like create user, create article, create supplier, anything
you created as a data and save it in the database from front end?
It is not.
Push it along with your get comment.
So what is posted in the gate, whatever you edit as a code and voice code, you you are editing you,
you add the functions, you add JavaScript, you add faith in, you add Ginge to a template.
So those files are moving to get.
Yeah, OK, and about the users, the users that I'm creating on my local machine, and it's it's a
development environment, if I if I deploy the solution as a four in into production environment.
Do they represent key users?
Or or I have to configure the application to add to create the new users a new account for users.
You have to recreate them in production.
OK, you have to recreate.
You have to recreate them or what is it is it possible to migrate the data, the database from the development
environment to production environment?
That's possible or not.
It is not in this direction.
Usually we do a clone of database backup database backup from production to development and not the
vaccine, not from development to production, because production is running its official data that
you cannot put data from development, from backend especially and data and development.
It is not clean.
Most of the time is testing and it is not something official.
No one knows about this data.
You got it.
So what do you do in development?
You do a clone from a production database and bring it into your development.
So there is a method to coffee database from production to development, and you will get fresh data
from production.
Now, Phil, actually, what we do in other projects is that we have the pre prepared stage environments.
Yes.
Which is the play, the preproduction environment.
Yes.
And if everything is where we are, we use or we migrate the same database to production, you see.
Yes.
I think we will cover this in our agenda.
Right.
Karani.
How to deploy in production?
And database migration.
OK, so let's, uh, let's set for another time, so it's okay for me.
Thank you, Karani, for that answer.
You're welcome.
Uh.
Lust, that is the question, but time is running will keep this question and the other coming session.
So again tomorrow we don't have class, so we meet.
We meet the day after tomorrow, OK?
So thank you very much for your time and.
I'm broke, I broke my back, my mother, thank you.
I'm not sure I like.